[pascal]有一只老兔子,每个月生小兔子,然后……
来源:百度知道 编辑:UC知道 时间:2024/06/01 09:18:06
比如说老兔子第一个月生了小兔子,那么这只兔子第四个月时就可以生小兔子
同志们哪,我求的是程序,不是思路!!!!!!
.Fibonacci序列
除第一、第二项外每一项是它前两项的和;
若首项为f0为0,则序列为0,1,1,2,3,5,8...递推关系为(n>=2)fn=fn-1+fn-2
前n项的和Sn=f0+f1+f2+...+fn=fn+2-1
例9:以下是Fibonacci的示例:
1.楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序计算共有多少种不同的走法?
2.有一对雌雄兔,每两个月就繁殖雌雄各一对兔子.问n个月后共有多少对兔子?
3.有n*2的一个长方形方格,用一个1*2的骨牌铺满方格。求铺法总数?
那我就再给你程序好了:
program lk;
var
a,b,c:longint;
i:longing;
begin
a:=5;
b:=7;
for i:=5 to 10 do
begin
c:=a+b;
a:=b;
b:=c;
end;
writeln(c);
end.
小兔子三个月后是不是老兔子了?
老天爷!偶都有半年没碰那玩意儿了啊!应该是数组+条件循环吧?应该还要用到循环嵌套?
哦妈咪啊,你自己好好研究下吧啊。。。我也要回去温书了。。。我这个翘课的懒银啊。。。。
MS偶还做过这题咧。。。。要是找到原题就打给你咯。。。。。
program tutu;
var tu,a,b,c,n:integer;
begin a:=1;
for n:=1to 10 do
begin
if n>=3 then
begin
a:=tu; b:=a*2; tu:=a+b; end;
else begin b:=a*2; tu:=a+b; c1:=b end;
end.